package zhongbo.java.air.monitor.web;//package zhongbo.java.air.monitor.web;
//
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.data.domain.Page;
//import org.springframework.web.bind.annotation.*;
//import zhongbo.java.air.monitor.model.AirAlertLog;
//import zhongbo.java.air.monitor.service.IAirAlertLogService;
//
//import javax.validation.Valid;
//import java.util.Date;
//import java.util.List;
//
//@RestController
//@RequestMapping("airAlertLog")
//@Api(tags = "告警日志接口")
//public class AirAlertLogController {
//    @Autowired
//    private IAirAlertLogService airAlertLogService;
//
//    /**
//     * 分页查询
//     *
//     * @param pageNum 页码
//     * @param pageSize 每页大小
//     * @return 查询结果
//     */
//    @GetMapping
//    @ApiOperation(value = "分页查询", notes = "根据查询消息分页返回列表")
//    public Page<AirAlertLog> queryByPage(@RequestParam Integer pageNum, @RequestParam Integer pageSize){
//        return airAlertLogService.queryByPage(pageNum, pageSize);
//    }
//    /**
//     * 通过主键查询单条数据
//     *
//     * @param id 主键
//     * @return 单条数据
//     */
//    @GetMapping("{id}")
//    @ApiOperation(value = "用户查询", notes = "通过主键查询单条数据")
//    public AirAlertLog queryById(@PathVariable("id") String id) throws Exception{
//        return airAlertLogService.queryById(id);
//    }
//    /**
//     * 新增数据
//     *
//     * @param airAlertLog 实体
//     * @return 新增结果
//     */
//    @PostMapping
//    @ApiOperation(value = "用户新增", notes = "新增数据")
//    public AirAlertLog insert(@RequestBody @Valid AirAlertLog airAlertLog) throws Exception{
//        return airAlertLogService.insert(airAlertLog);
//    }
//    /**
//     * 修改数据
//     *
//     * @param airAlertLog 实体
//     * @return 修改结果
//     */
//    @PutMapping
//    @ApiOperation(value = "用户修改", notes = "修改数据")
//    public AirAlertLog update(@RequestBody @Valid AirAlertLog airAlertLog)throws Exception{
//        return airAlertLogService.update(airAlertLog);
//    }
//    /**
//     * 删除数据
//     *
//     * @param id 主键
//     * @return 删除是否成功
//     */
//    @DeleteMapping("{id}")
//    @ApiOperation(value = "用户删除", notes = "删除数据")
//    public boolean deleteById(@PathVariable("id") String id)throws Exception{
//        return airAlertLogService.deleteById(id);
//    }
//    /**
//     * 手动查询告警日志记录
//     *
//     * @param alertType 告警类型（可选）
//     * @param status 处理状态（可选）
//     * @param startTime 开始时间（可选）
//     * @param endTime 结束时间（可选）
//     * @return 告警日志记录列表
//     */
//    @GetMapping("queryManualAlerts")
//    @ApiOperation(value = "手动查询告警日志记录", notes = "根据指定的条件查询告警日志记录")
//    public List<AirAlertLog> queryManualAlerts(
//            @RequestParam(required = false) String alertType,
//            @RequestParam(required = false) String status,
//            @RequestParam(required = false) String startTime,
//            @RequestParam(required = false) String endTime
//    ) {
//        return airAlertLogService.queryManualAlerts(alertType, status, startTime, endTime);
//    }
//}

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.*;
import zhongbo.java.air.common.vo.PageVo;
import zhongbo.java.air.common.vo.ResultVo;
import zhongbo.java.air.monitor.model.AirAlertLog;
import zhongbo.java.air.monitor.service.IAirAlertLogService;

/**
 * 说明：
 *
 * @author 钟波dellNotebook
 * @since 2025年04月09日 星期三 23:43:45
 */
@RestController
@RequestMapping("alertLog")
@Api(tags = "告警日志记录")
public class AirAlertLogController {

    @Autowired
    private IAirAlertLogService<AirAlertLog> alertLogService;

    // to//do 今日周二待做, 标准crud接口(包括分页)

    @PostMapping("add")
    @ApiOperation("添加")
    ResultVo<AirAlertLog> add(@RequestBody AirAlertLog entity) {
        AirAlertLog alertLog = alertLogService.add(entity);
        return ResultVo.ok(alertLog);
    }

    @GetMapping("delete")
    @ApiOperation("删除")
    ResultVo<String> delete(String entityId) {
        String delete = String.valueOf(alertLogService.delete(entityId));
        return ResultVo.ok(delete);
    }

    @PostMapping("edit")
    @ApiOperation("修改")
    ResultVo<AirAlertLog> edit(@RequestBody AirAlertLog edit) {
        AirAlertLog alertLog = alertLogService.edit(edit);
        return ResultVo.ok(alertLog);
    }

    @GetMapping("findOne")
    @ApiOperation("查询一条")
    ResultVo<AirAlertLog> findOne(String entityId) {
        AirAlertLog alertLog = alertLogService.findOne(entityId);
        return ResultVo.ok(alertLog);
    }

//    @GetMapping("findPage")
//    @ApiOperation("分页查询列表")
//    ResultVo<PageVo<AirAlertLog>> findPage(Integer page, Integer pageSize
//            , String icao, String startDate, String endDate
//            , String keyword, String fields
//            , String oderByField, Boolean orderByAsc) {
//        PageVo<AirAlertLog> pageVo = alertLogService.findPage(page, pageSize
//                , icao, startDate, endDate
//                , keyword, fields, oderByField, orderByAsc);
//        return ResultVo.ok(pageVo);
//    }
@GetMapping("findPage")
@ApiOperation("分页查询列表")
ResultVo<PageVo<AirAlertLog>> findPage(Integer page, Integer pageSize
        , String keyword, String fields
        , String oderByField, Boolean orderByAsc) {
    PageVo<AirAlertLog> pageVo = alertLogService.findPage(page, pageSize, keyword, fields, oderByField, orderByAsc);
    return ResultVo.ok(pageVo);
}


}
